Git Reflog என்றால் என்ன?
git reflog கிளைகள் மற்றும் HEAD-இன் முனையில் புதுப்பிப்புகளை பதிவு செய்கிறது.
உங்கள் கிளை மற்றும் HEAD எங்கு இருந்தன என்பதைப் பார்க்க இது உங்களை அனுமதிக்கிறது, தவறாகச் செய்த மாற்றங்கள் கூட.
இழந்த கமிட்டுகளை மீட்டெடுக்க அல்லது ஒரு reset-ஐ இரத்து செய்ய இது பயனுள்ளதாக இருக்கும்.
Git Reflog-எப்போது பயன்படுத்த வேண்டும்
Git Reflog-ஐ பயன்படுத்தவும்:
இழந்த கமிட்டுகளை மீட்டெடுக்கவும்
இழந்த கமிட்டுகள் அல்லது மாற்றங்களை மீட்டெடுக்கவும்
Reset அல்லது Merge-ஐ இரத்து செய்யவும்
ஒரு reset அல்லது merge-ஐ இரத்து செய்யவும்
வரலாற்றைப் பாருங்கள்
உங்கள் கிளை மற்றும் HEAD-இன் வரலாற்றைப் பாருங்கள்
Reflog-ஐக் காட்டு
HEAD மற்றும் கிளைகள் எங்கு சுட்டிக்காட்டியுள்ளன என்பதின் வரலாற்றைப் பார்க்க, பயன்படுத்தவும்:
உதாரணம்
git reflog
e56ba1f (HEAD -> master) HEAD@{0}: commit: Revert "Just a regular update, definitely no accidents here..."
52418f7 HEAD@{1}: commit: Just a regular update, definitely no accidents here...
9a9add8 (origin/master) HEAD@{2}: commit: Added .gitignore
81912ba HEAD@{3}: commit: Corrected spelling error
3fdaa5b HEAD@{4}: merge: Merge pull request #1 from jassifteam-test/update-readme
836e5bf HEAD@{5}: commit: Updated readme for GitHub Branches
...
இது HEAD-இன் சமீபத்திய நிலைகளை பட்டியலிடுகிறது, எனவே நீங்கள் கமிட்டுகள், resets, merges, மற்றும் checkouts போன்ற செயல்களைப் பார்க்கலாம்.
இழந்த கமிட்டுகளைக் கண்டுபிடித்து மீட்டெடுக்கவும்
நீங்கள் தற்செயலாக reset செய்தால் அல்லது கமிட்டுகளை நீக்கினால், கமிட்டைக் கண்டுபிடித்து மீட்டமைக்க reflog-ஐப் பயன்படுத்தலாம்.
Reflog-இல் உள்ள ஒவ்வொரு உள்ளீட்டிற்கும் HEAD@{2} போன்ற ஒரு குறிப்பு உள்ளது.
உதாரணம்: Hard Reset-ஐ இரத்து செய்யவும்
git reflog
e56ba1f (HEAD -> master) HEAD@{0}: commit: Revert "Just a regular update, definitely no accidents here..."
52418f7 HEAD@{1}: commit: Just a regular update, definitely no accidents here...
9a9add8 (origin/master) HEAD@{2}: commit: Added .gitignore
81912ba HEAD@{3}: commit: Corrected spelling error
...
git reset --hard HEAD@{2}
HEAD is now at 9a9add8 Added .gitignore
இது அந்த நேரத்தில் இருந்த நிலைக்கு உங்கள் கிளையை மீண்டும் வைக்கிறது.
கமிட் மீட்டெடுக்கப்பட்டது!
Reflog-ஐப் பயன்படுத்தி இழந்த கமிட்டை வெற்றிகரமாக மீட்டெடுத்துள்ளீர்கள்.
Reflog-ஐ சுத்தம் செய்யவும்
Reflog தானாகவே Git-ஆல் சுத்தம் செய்யப்படுகிறது, ஆனால் தேவைப்பட்டால் பழைய உள்ளீடுகளை கைமுறையாக காலாவதியாக்கலாம்:
உதாரணம்
git reflog expire --expire=30.days refs/heads/main
git gc --prune=now
Counting objects: 15, done.
Compressing objects: 100% (10/10), done.
Pruning objects
இது main கிளைக்கு 30 நாட்களுக்கு மேலான reflog உள்ளீடுகளை நீக்குகிறது மற்றும் garbage collection-ஐ இயக்குகிறது.
உதவிக்குறிப்புகள் & சிறந்த நடைமுறைகள்
தொடர்ந்து பயன்படுத்தவும்
உங்கள் மாற்றங்களைக் கண்காணிக்க வழக்கமாக git reflog பயன்படுத்தவும்.
இழந்தவற்றை மீட்டெடுக்கவும்
இழந்த கமிட்டுகள் அல்லது மாற்றங்களை மீட்டெடுக்க git reflog பயன்படுத்தவும்.
சுத்தம் செய்யவும்
பழைய உள்ளீடுகளை சுத்தம் செய்ய git reflog expire பயன்படுத்தவும்.
பழுது நீக்குதல்
git reflog-உடன் சிக்கல்கள் எதிர்கொண்டால், முயற்சிக்கவும்:
Git ஆவணங்களைச் சரிபார்க்கவும்
மேலும் தகவலுக்கு Git ஆவணங்களைச் சரிபார்க்கவும்
ஆன்லைனில் தேடவும்
குறிப்பிட்ட சிக்கல்களுக்கான தீர்வுகளை ஆன்லைனில் தேடவும்
உதவி கேளுங்கள்
ஒரு Git நிபுணர் அல்லது சமூகத்திடமிருந்து உதவி கேளுங்கள்
எச்சரிக்கைகள்
முக்கியமான எச்சரிக்கை
இழந்த கமிட்டுகள் அல்லது மாற்றங்களை மீட்டெடுக்க git reflog பயன்படுத்தும் போது கவனமாக இருங்கள், ஏனெனில் இது இருக்கும் மாற்றங்களை மேலெழுதக்கூடும்.
விரைவு குறிப்பு
Reflog-ஐக் காட்டு
HEAD வரலாற்றைப் பாருங்கள்
git reflog
கமிட்டை மீட்டெடுக்கவும்
இழந்த கமிட்டை மீட்டெடுக்கவும்
git reset --hard HEAD@{2}
Reflog-ஐ சுத்தம் செய்யவும்
பழைய உள்ளீடுகளை நீக்கவும்
git reflog expire
Garbage Collection
குப்பை சேகரிப்பை இயக்கவும்
git gc --prune=now